﻿// <copyright file="CommandType.cs" company="Hallvard Korsgaard">
//  Microsoft Public License (Ms-PL). See license details here: http://enoceannet.codeplex.com/license
// </copyright>
// <author>Hallvard Korsgaard</author> 

namespace EnOcean.Command
{
  using System;

  /// <summary>
  /// Indicates the command to send in a command telegram. The value is placed in the ORG byte.
  /// </summary>
  [Serializable]
  public enum CommandType : byte
  {
    /// <summary>
    /// A SET_IDBASE command.
    /// </summary>
    SetIdBase = 0x18,

    /// <summary>
    /// A RD_IDBASE command.
    /// </summary>
    ReadIdBase = 0x58,

    /// <summary>
    /// A SET_RX_SENSITIVITY command.
    /// </summary>
    SetRadioSensitivity = 0x08,

    /// <summary>
    /// A RD_RX_SENSITIVITY command.
    /// </summary>
    ReadRadioSensitivity = 0x48,
    
    /// <summary>
    /// A SLEEP command.
    /// </summary>
    Sleep = 0x09,

    /// <summary>
    /// A WAKE command.
    /// </summary>
    Wake = 0xAA,

    /// <summary>
    /// A RESET command.
    /// </summary>
    Reset = 0x0A,

    /// <summary>
    /// A MODEM_ON command.
    /// </summary>
    ModemOn = 0x28,

    /// <summary>
    /// A Modem_OFF command.
    /// </summary>
    ModemOff = 0x2A,

    /// <summary>
    /// A RD_MODEM_STATUS command.
    /// </summary>
    ReadModemStatus = 0x68,

    /// <summary>
    /// A RD_SW_VER command.
    /// </summary>
    ReadSoftwareVersion = 0x4B
  }
}
